The present invention is related to the field of data communications networks, and more particularly to techniques for configuring node addresses in Internet Protocol (IP) and other networks.
One task to be performed in managing data communications networks is assigning addresses to network nodes, a process also referred to as “configuring” addresses in the network. In particular, it is necessary to configure addresses used at the network layer, or layer 3, of network operation as described by the Open Systems Interconnect (OSI) communications model. At the network layer, message routing protocols are generally used to route messages among the network nodes. Network-layer addresses are used to uniquely identify the sources and destinations of messages, and devices known as, “routers” use these addresses to forward messages toward respective destination nodes.
Network layer addresses typically reflect network topology to at least some degree. For example, it is common to assign a block of network-layer addresses having a single “prefix” for exclusive use by nodes connected to a given single link, such as an Ethernet local-area network (LAN). Such a prefix may consist, for example, of some number of most significant bits of a 32-bit IP address. For example, the prefix for a given link may be a 3-byte value represented as 10.4.4. The full address of each node on the link is formed by concatenating the prefix with a node-specific least-significant part, such as a one-byte node number. Thus, the address for node number 122, for example, on the above link is 10.4.4.122. Network routers utilize the prefix portion of network addresses to forward messages within the network according to the routing protocol. The last router in a path requires the full address in order to identify a specific destination node on the destination link.
Because they reflect network topology, network layer addresses must be configured dynamically, in the context of a specific operational network. In this regard, network-layer addresses differ from layer-2 addresses, or link-layer addresses, which can be device-specific. An example of such layer-2 addresses are Ethernet media access control (MAC) addresses. Ethernet MAC addresses are 48 bits in length, and they are generally assigned to devices at manufacturing time. An administrative address-assigning authority is responsible for assigning Ethernet MAC addresses in a coherent fashion, specifically to ensure global uniqueness of assigned addresses.
Likewise, within a given network region in which a particular routing protocol is used, network-layer addresses must be unique to unambiguously identify the sources and destinations of messages. To satisfy this uniqueness requirement as well as the above-described topology requirements, the address configuration process has generally been carried out by a human network operator using network management tools. However, the manual configuring of network addresses can have undesirable drawbacks. The configuration process can be time-consuming and error-prone. For this reason, it is desirable to automate the configuring of network addresses as much as possible.
In U.S. Pat. No. 5,398,242 of Perlman, issued Mar. 14, 1995 and entitled “Automatically Configuring LAN Numbers”, a technique is described for automatically assigning numbers to local area networks (LANs) in an extended network having several LANs connected together by bridges. The LAN numbers are used by the bridges to identify LANs in a source routing protocol. One bridge on each LAN becomes a “designated bridge” for the LAN. A central database is used to maintain respective associations between designated bridges and assigned LAN numbers. The designated bridge for a LAN obtains a LAN number by transmitting a request identifying the bridge and the bridge port to which the LAN is connected. In response, a “root” bridge selects a LAN number that has not been associated with another LAN, and includes it in a response message sent back to the requesting bridge. The bridge in turn transmits LAN number identification messages incorporating the LAN number to the other bridges on the LAN, which then use the LAN numbers in executing the source routing protocol.
While the above technique provides for automatic configuration of LAN numbers, it relies upon a single centralized resource, the root bridge in a spanning tree, for proper operation. Overhead processes are required for the selection and maintenance of the spanning tree. Moreover, the LAN numbers are used to form extended headers for layer 2 messages, and not for functions at layer 3 of network operation. It would be desirable to provide for automatic configuration of network-layer addresses, and to enable address configuration without requiring a centralized resource such as a root bridge.